#include<stdio.h>
void swap(char *e1,char* e2,int width)
{
    while(width--)
    {
        char temp=*e1;
        *e1=*e2;
        *e2=temp;
        e1++;
        e2++;
    }
}
int compare(const void*e1,const void*e2)
{
    return *((int*)e1)-*((int*)e2);
}
void jiaoqsort(const void* a,int sz,int wideth,int (*compare)(const void*e1,const void* e2))
{
    for(int i=0;i<sz-1;i++)
    {
        for(int j=0;j<sz-1-i;j++)
        {
          if(compare((char*)(a+j*wideth),(char*)(a+(j+1)*wideth))>0)
            {
                swap((char*)(a+j*wideth),(char*)(a+(j+1)*wideth),wideth);
            }
        }
    }
}
int main()
{
     int a[]={1,5,8,1,4,6};
     int sz=sizeof(a)/sizeof(a[0]);
     jiaoqsort(a,sz,sizeof(a[0]),compare);
     for(int i=0;i<sz;i++)
     {
        printf("%d ",a[i]);
     }
    return 0;
}